package util.states;

import java.util.ArrayList;
import java.util.List;

import models.users.EPState;
import services.DAO;

public class MatriculasAbiertasState extends StateLogic {

	@Override
	public List<String> validateTransition() {

		List<Object[]> mensajes = DAO
				.executeNative(
						"select c.nombre,string_agg(m.nombre,', ') from curso c join grado g on g.id=c.id_grado "
								+ "join materia_grado mg on mg.id_grado=g.id "
								+ "join materia m on m.id=mg.id_materia "
								+ "left join materia_curso mc on mc.id_curso=c.id and mc.id_materia=mg.id_materia "
								+ "WHERE mc.id_profesor is null and c.id_calendario_academico=?idCalendarioAcademico "
								+ "group by c.nombre", -1,
						"idCalendarioAcademico",
						colegio.getIdCalendarioAcademicoActual());
		List<String> errores = new ArrayList<String>();
		for (Object[] mensaje : mensajes) {
			errores.add("El curso " + mensaje[0]
					+ " no tiene configurados profesores para las materias "
					+ mensaje[1]);
		}
		return errores;
	}

	@Override
	public EPState getNext() {
		System.out.println("ENTRA ESTA GONORREA");
		return EPState.SUBIDA_NOTAS;
	}

	@Override
	public void enterTransition() {

	}

}
